42
46
54
0
5
0
3
5455
55
55
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5456
55
56
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5457
55
57
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5458
55
58
0
1
0
8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5459
55
59
2
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5468
55
68
0
2
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5469
55
69
6
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5470
55
70
6
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5471
55
71
6
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5472
55
72
6
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5473
55
73
0
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
5552
56
52
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5553
56
53
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5554
56
54
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5555
56
55
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5556
56
56
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5557
56
57
0
1
0
8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5558
56
58
2
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5559
56
59
2
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5568
56
68
0
2
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5569
56
69
6
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5570
56
70
0
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5571
56
71
6
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5572
56
72
0
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5652
57
52
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5653
57
53
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5654
57
54
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5655
57
55
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5656
57
56
0
1
0
8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5657
57
57
2
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5658
57
58
2
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5659
57
59
2
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5668
57
68
0
2
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5669
57
69
6
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5670
57
70
6
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5671
57
71
6
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5672
57
72
0
2
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5673
57
73
0
2
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5674
57
74
0
2
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5752
58
52
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5753
58
53
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5754
58
54
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5755
58
55
0
1
0
8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5768
58
68
0
2
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5769
58
69
0
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5770
58
70
6
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5771
58
71
0
2
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5852
59
52
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5853
59
53
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5854
59
54
0
1
0
8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5855
59
55
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5866
59
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
400
0
2
0
1
0
3
5868
59
68
0
2
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5869
59
69
6
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5870
59
70
6
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5871
59
71
0
2
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5873
59
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
400
0
2
0
1
0
3
5952
60
52
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5953
60
53
0
1
0
8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5954
60
54
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5955
60
55
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5956
60
56
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5958
60
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1000
0
0
0
1
0
1
5968
60
68
0
2
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5969
60
69
6
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5970
60
70
0
1
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5971
60
71
0
2
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6052
61
52
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6053
61
53
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6054
61
54
0
1
0
8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6055
61
55
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6068
61
68
0
2
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6069
61
69
6
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6070
61
70
6
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6071
61
71
0
2
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6073
61
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
400
0
2
0
1
0
3
6152
62
52
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6153
62
53
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6154
62
54
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6155
62
55
0
1
0
8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6168
62
68
0
2
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6169
62
69
0
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6170
62
70
6
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6171
62
71
0
2
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6252
63
52
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6253
63
53
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6254
63
54
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6255
63
55
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6256
63
56
0
1
0
8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6257
63
57
2
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6258
63
58
2
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6259
63
59
2
1
0
0
0
0
0
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
1
6268
63
68
0
2
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6269
63
69
6
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6270
63
70
6
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6271
63
71
0
2
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6273
63
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
400
0
2
0
1
0
3
6354
64
54
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6355
64
55
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6356
64
56
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6357
64
57
0
1
0
8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6358
64
58
2
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6359
64
59
2
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6368
64
68
0
2
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6369
64
69
6
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6370
64
70
0
0
0
0
0
0
0
3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
6454
65
54
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6455
65
55
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6456
65
56
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6457
65
57
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6458
65
58
0
1
0
8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6459
65
59
2
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6554
66
54
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6555
66
55
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6556
66
56
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6557
66
57
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6558
66
58
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6559
66
59
0
1
0
8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6560
66
60
0
0
0
0
11
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6568
66
68
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6661
67
61
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6662
67
62
2
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6663
67
63
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6664
67
64
0
1
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6665
67
65
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6666
67
66
2
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6667
67
67
0
1
0
5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6761
68
61
2
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6762
68
62
2
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6763
68
63
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6764
68
64
0
1
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6765
68
65
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6766
68
66
2
1
0
0
0
0
0
2
2
3
0
0
0
0
0
0
0
0
0
0
0
0
1
6767
68
67
2
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6861
69
61
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6862
69
62
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6863
69
63
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6864
69
64
0
1
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6865
69
65
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6866
69
66
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6867
69
67
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6961
70
61
0
1
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6962
70
62
0
1
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6963
70
63
0
1
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6964
70
64
0
1
3
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6965
70
65
0
1
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6966
70
66
0
1
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6967
70
67
0
1
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7061
71
61
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7062
71
62
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7063
71
63
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7064
71
64
0
1
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7065
71
65
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7066
71
66
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7067
71
67
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7161
72
61
2
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7162
72
62
2
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7163
72
63
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7164
72
64
0
1
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7165
72
65
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7166
72
66
2
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7167
72
67
2
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7261
73
61
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7262
73
62
2
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7263
73
63
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7264
73
64
0
1
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7265
73
65
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7266
73
66
2
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7267
73
67
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7463
75
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
500
0
1
0
1
0
2
7466
75
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
500
0
1
0
1
0
2
